package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.StockCheck;
import com.weixing.mall.provider.model.dto.StockCheckDto;
import com.weixing.mall.provider.model.dto.StockCheckNumDto;
import com.weixing.mall.provider.model.query.StockCheckDetailsQuery;
import com.weixing.mall.provider.model.query.StockCheckQuery;

import java.util.Map;

/**
 * <p>
 * 仓库模块-盘点单 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-15
 */
public interface IStockCheckService extends IService<StockCheck> {
    IPage selectList(Page page,StockCheckQuery stockCheckQuery);

    void save(StockCheckDto stockCheckDto, Long uid);

    IPage selectSpecificDetails(Page page,Long checkId,Long stockPerson);

    Map<String,Object> selectSpecificDetailsReturnMap(Page page, Long checkId, Long stockPerson);

    IPage selectDetails(Page page, StockCheckDetailsQuery stockCheckDetailsQuery);

    void updateSpecificDetails(StockCheckNumDto stockCheckNumDto);

    void delSpecificDetails(StockCheckNumDto stockCheckNumDto);

    void finish(Long stockCheckDtoId, Long uid);

    void mergeStockCheck(Long stockCheckDtoId, Long uid);

    void finishDepot(Long stockCheckDtoId, Long uid);

    Map<String,Object> specificDetailTotal(Long checkId, Long uid);

    Map<String,Object> selectTotal(StockCheckDetailsQuery stockCheckDetailsQuery);
}
